<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 杨璐买水煎包  状态两种 要么成功  要么失败  

        // function shuijianbao(success = function(){},err = function(){}){

        //     const timer = Math.random() * 1000+2000; // 随机事件

        //     setTimeout(function(){
        //         if(timer<2500){
        //             console.log('杨璐买完了水煎包,准备打道回府');
        //             console.log(`耗时${timer}毫秒`);
        //             success();
        //         }else{
        //             console.log('失败');
        //             err();
        //         }
        //     },timer);
        // }

        // shuijianbao(function(){
        //     console.log('顺便去便利蜂给我买瓶水');
        // },function(){
        //     console.log('再回去一趟');
        // });


        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        

        // shuijianbao(function(){
        //     shuijiaobao(function(){
        //         shuijianbao(function(){
        //             shuijianbao(function(){
        //                 shuijianbao(function(){
        //                     shuijianbao(function(){
        //                         shuijianbao(function(){},function(){}); 
        //                     },function(){}); 
        //                 },function(){}); 
        //             },function(){}); 
        //         },function(){}); 
        //     },function(){});
        // },function(){});

        // const p = new Promise(function(resolve,reject){
        //     const timer = Math.random() * 1000+2000; // 随机时间
        //     setTimeout(function(){
        //         if(timer<2500){
        //             console.log('杨璐买完了水煎包,准备打道回府');
        //             console.log(`耗时${timer}毫秒`);
        //             resolve('呵呵哒');
        //         }else{
        //             console.log('失败');
        //             reject('阿西吧');
        //         }
        //     },timer);
        // })

        // 得到promise对象   
        // 第一个方法是then 如果成功 走这里
        // 第二个方法是catch 如果失败 走这里

        // p.then(function(data){
        //     console.log(data); // 接收成功以后调用的reslove方法
        // 传过来的呵呵哒
        //     console.log('顺便去便利蜂给我买瓶水');
        // }).catch(function(err){
        // 接收失败以后调用的reject方法 传过来的阿西吧
        //     console.log(err);
        //     console.log('再回去一趟');
        // })

        function jingshenxiaohuo(){
            
            const p = new Promise(function(resolve,reject){
                const timer = Math.random() * 1000+2000; // 随机时间
                setTimeout(function(){
                    if(timer<2500){
                        console.log('杨璐买完了水煎包,准备打道回府');
                        console.log(`耗时${timer}毫秒`);
                        resolve('呵呵哒6666');
                    }else{
                        console.log('失败');
                        reject('阿西吧9999');
                    }
                },timer);
            })

            return p;
        }
    

        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        /// 需求 再次让杨璐买瓶水 ,必须买完前一次的情况下才能买第二次的水
        
        jingshenxiaohuo().then(
            function(data){
                console.log(this);
                console.log(data);
                console.log('1顺便去便利蜂给我买瓶水');
                return jingshenxiaohuo();
            }
        ).catch(
            function(err){
                console.log(err);
                console.log('1再回去一趟');
                return jingshenxiaohuo();
            }
        
        ).then(
            function(data){
                console.log(data);
                console.log('2顺便去便利蜂给我买瓶水');
                return jingshenxiaohuo();
            }
        ).catch(
            function(err){
                console.log(err);
                console.log('2再回去一趟');
                return jingshenxiaohuo();
            }
        
        ).then(
            function(data){
                console.log(data);
                console.log('3顺便去便利蜂给我买瓶水');
                return jingshenxiaohuo();
            }
        ).catch(
            function(err){
                console.log(err);
                console.log('3再回去一趟');
                return jingshenxiaohuo();
            }
        
        ).then(
            function(data){
                console.log(data);
                console.log('4顺便去便利蜂给我买瓶水');
                return jingshenxiaohuo();
            }
        ).catch(
            function(err){
                console.log(err);
                console.log('4再回去一趟');
                return jingshenxiaohuo();
            }
        
        ).then(
            function(data){
                console.log(data);
                console.log('5顺便去便利蜂给我买瓶水');
                return jingshenxiaohuo();
            }
        ).catch(
            function(err){
                console.log(err);
                console.log('5再回去一趟');
                // return jingshenxiaohuo();
            }
        
        )
        
    </script>
</body>
</html>